package com.lanou.utp.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @author MaQingYun
 */
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Task implements Serializable {

    private Long id;
    private String name; /** 任务名 */
    private String description; /** 描述 */
    private Long baseId; /** 基地id */
    private Long teachlinkId; /** 教学环节外键id*/
    private Long baseTeacherId; /** 基地教师id */
    private Long teacherId1; /** 校内指导老师1 */
    private Long teacherId2; /** 校内知道老师2 */
    private String longitude; /** 经度 */
    private String latitude; /** 纬度 */
    private Integer radius; /** 考勤范围半径 */
    private Integer mode; /** 任务类型：:0统一,1自主报名,2分散任务（学生提交）, 3分散任务预处理  */
    private Integer gradingType; /** 评分类型id 0,五星制度评分,1,百分制评分 */
    private Integer evaluate; /** 对基地教师的最终评教分数 */

    private Integer dateTime; /* 0:工作日 1: 每周几 2: 不同日期*/
    private List<String> timeCheckList; /* 每周几, 0代表星期日*/
    private List<Long> studentIds;/* 学生id */
    private List<Long> teacherIds;
    private Double teacherMaturityScore; /* 指导老师的权重比*/
    private Double baseMaturityScore; /* 基地老师的权重比*/
    private  Double checkScore; /* 考勤评分 */
    private  Double logScore; /* 日志评分 */
    private  Double reportScore; /* 报告评分 */
    private  Double ordinaryScore1; /* 平时1 */
    private  Double ordinaryScore2; /* 平时2 */
    private  Double otherScore; /* 其它 */
    private Long signinWarning; /* 签到预警 */
    private Long logWarning; /* 日志预警*/

    private List<Date> ttime;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date taskStartTime; /** 任务开始时间 */

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date taskEndTime; /** 任务结束时间 */

    @JsonFormat(pattern = "yyyy-MM-dd HH-mm-ss", timezone = "GMT+8")
    private Date applyStartTime; /** 报名开始时间 */

    @JsonFormat(pattern = "yyyy-MM-dd HH-mm-ss", timezone = "GMT+8")
    private Date applyEndTime; /** 报名结束时间 */

    private String bname;/** 基地名*/

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;/*创建时间*/

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;/*更新时间*/

    private Integer status;/*状态*/

    /**status 状态码:0已创建（未发布） 1未开始 2进行中 3学生自主提交（待审批）  */

}
